var http = require('http')

var urlLib = require('url')

var queryString = require('querystring')

var fs = require('fs')

var app = http.createServer((req,res)=>{
    //1. 解析get 参数
    var obj = urlLib.parse(req.url, true)
    var path = obj.pathname

    var filePath = './views' + path

    var act = filePath.split('/').pop()  //通过路径 获取对应操作

    //导入db 中的user
    var {users} = require('./db.js')

    console.log(users)

    //2. 解析post参数
    var str = ''
    req.on('data', (data)=>{
        str += data
    })
    
    req.on('end', (err)=>{
        var postData = queryString.parse(str.toString())

        switch(act){
            case 'login':
            //登录操作判断用户名密码是否正确
                var flag = false;
                for(var i=0;i<users.length;i++){
                    //获取当前用户名密码
                    var now = users[i]
                    //判断用户名密码是否一致
                    if(now['username']==postData['username']&&now['password']==postData['password']){
                        res.write('welcome ' + now['username'])
                        res.end()
                        flag = true;
                        break;
                    }
                }
                //如果flag值仍然是false，说明在for循环中，没有用户名密码一致的情况，因此，说明数据库中没有该用户
                if(flag==false){
                    // console.log('users or password not correct')

                    res.write('not correct')
                    res.end()
                }

                break;
            case 'reg':
            // 注册操作，将用户名密码写入数据库
                console.log('you want reg')
                break;
        }
    })

    

    
    var ext = filePath.split('.').pop()
    if(ext==='html'){
        fs.readFile(filePath, (err,data)=>{
            if(err){
                fs.readFile('./views/404.html',(err,data)=>{
                    res.write(data)
                    res.end()
                })
            }else{
                res.write(data)
                res.end()
            }
        })
    }
    

    

})

app.listen(8000)